#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

//类型一

//int main()//正确写法
//{
//	int n = 0;
//	double sum = 0;
//	for (n = 1; n <= 100; n++)//用来控制分母，使分母从1变到100
//	{
//		sum += 1.0 / n;//sum用来求所有的分数之和
//	}
//	printf("%lf\n", sum);
//	return 0;
//}



//int main()//错误写法一
//{
//	int n = 0;
//	int sum = 0;//错误地将分数之和的sum定义成整型
//	for (n = 1; n <= 100; n++)
//	{
//		sum += 1.0 / n;
//	}
//	printf("%d\n", sum);
//	return 0;
//}





//int main()//错误写法二
//{
//	int n = 0;
//	double sum = 0;
//	for (n = 1; n <= 100; n++)
//	{
//		sum += 1 / n;//除法操作符两边都是整型
//	}
//	printf("%lf\n", sum);
//	return 0;
//}


//类型二

//int main()//方法一
//{
//	int n = 0;
//	double sum = 0;
//	int i = 0;
//	for (n = 1; n <= 100; n++)//用来控制分母，使分母从1变到100
//	{
//		if (0 == n % 2)//if语句用来控制正负，当分母为奇数时，为正数；当分母为偶数时，为负数。
//		{
//			i = -1;
//		}
//		else 
//		{
//			i = 1;
//		}
//		sum += i*(1.0 / n);//sum用来求所有的分数之和
//	}
//	printf("%lf\n", sum);
//	return 0;
//}



int main()//方法二
{
	int n = 0;
	double sum = 0;
	int flag = 1;
	for (n = 1; n <= 100; n++)//用来控制分母，使分母从1变到100
	{
		sum += flag * (1.0 / n);//sum用来求所有的分数之和;用flag来控制分数的正负。
		flag = -flag;//当分母为奇数时，flag为1；当分母为偶数时，flag为-1。
	}
	printf("%lf\n", sum);
	return 0;
}